package pkg

import (
	"fmt"
	"time"
)

func GenerateRanderOrderID(orderID string) string {
	// 获取当前时间戳(纳秒)的后8位
	timestamp := time.Now().UnixNano()
	timestampStr := fmt.Sprintf("%d", timestamp)
	last8Digits := timestampStr[len(timestampStr)-8:]

	// 组合订单ID和时间戳
	return fmt.Sprintf("%s%s", orderID, last8Digits) + "P"
}

// ExtractOrderID 从组合ID中提取原始订单ID
func ExtractOrderID(combinedID string) string {
	// 由于我们知道时间戳部分是8位，所以原始订单ID就是去掉最后8位
	if len(combinedID) <= 9 {
		return combinedID
	}
	return combinedID[:len(combinedID)-9] + "P"
}
